package config

import (
	"fmt"
	"github.com/spf13/viper"
)

type Config struct {
	Jwt struct {
		SecretKey string
		Issue     string
	}
	Datasource struct {
		Mysql struct {
			Host     string
			Port     int
			Dbname   string
			Username string
			Password string
		}
		Redis struct {
			Ip       string
			Port     string
			Password string
		}
	}
}

func GetConfig() *Config {
	var Config *Config
	//读取无隐私配置
	viper.SetConfigName("config")
	viper.SetConfigType("yaml")
	viper.AddConfigPath("./config")
	err := viper.ReadInConfig() // 搜索并读取配置文件
	if err != nil {             // 处理错误
		panic(fmt.Errorf("读取配置文件失败: %s \n", err))
	}
	err2 := viper.Unmarshal(&Config)
	if err2 != nil {
		panic(fmt.Errorf("配置文件转化配置对象失败: %s \n", err))
	}
	return Config
}
